This invention relates to resolvers, optical encoders and other feedback devices for closed loop position or velocity control of an electric motor.
Many motor applications require position or velocity feedback information to compare with a commanded output to provide a closed loop type of control. This position information is provided by an optical encoder which is attached to the motor shaft. The standard output of any optical encoder is typically a quadrature format signal which can be easily interpreted using standard hardware.
The majority of applications that use resolvers are very high end applications such as machine tool, industrial automation, military, etc. These resolvers typically consist of a wound stator with three windings (a primary, and two output windings, sine and cosine) and a rotor with a single winding which acts as a rotary transformer. The cost of a resolver becomes more significant as the size of the motor decreases and/or the market becomes price sensitive. Therefore, another type of resolver has been investigated, called a variable reluctance resolver, which does not have a rotor winding. Reluctance resolvers are easier to manufacture than conventional resolvers but are not as accurate as a convention resolver. The winding on the rotor is eliminated which significantly simplifies construction and decreases the overall cost of the resolver. A reluctance resolver typically has a laminated or solid rotor with a specific geometry to match the stator windings. The stator of a reluctance resolver is similar but less complex than a conventional resolver. The stator has a primary input and two outputs (sine and cosine) just like a conventional resolver. However, this type of resolver has not been widely commercially accepted because it requires costly resolver-to-digital converters to interpret the output of the resolver. In addition, the resolver-to-digital chip converter requires the resolver output to be very sinusoidal. Any deviations of the resolver output from a sinusoidal wave form will result in erroneous interpretation of the resolver""s position. Therefore, the variable reluctance resolver must produce a truly 100% sinusoidal wave form which restricts the number of variable reluctance resolvers and manufacturing techniques applicable for use with a resolver-to-digital converter chip.
Regardless of the type of resolver used, a resolver-to-digital converter is typically used to decode the resolver into a usable digital format. The cost of a converter is, like the conventional resolver, very significant in volume applications.
An object of this invention is the provision of a low cost resolver system with sufficient accuracy and resolution to generate closed loop motor position and/or velocity control of both brushless motors and motors which use commutating brushes.
Briefly, this invention details the provision of a system in which a resolver is excited with a high frequency, periodic signal and the sine and cosine resolver outputs are transmitted to inputs to a processor, preferably to a commercially available motion control digital signal processor (DSP) (henceforth referred to as xe2x80x9cprocessorxe2x80x9d. The processor demodulates the sine and cosine outputs to provide samples of the sine and cosine of the rotor position. The sample values are converted to digital values which are used to calculate the shaft angular position. The calculations may incorporate correction factors to compensate for distortions and inaccuracies.
To make the such a low cost sine wave system useful for an application where a position or velocity loop is closed external to the drive, quadrature encoder pulses are generated using the on-board outputs available on a motion control digital signal processor (DSP). One method is described in the quadrature encoder pulse block diagram description. However, there are other methods/algorithms which can be used to generate the quadrature encoder pulse outputs. The one described herein is only a representative sample. Different algorithms would have different overall results on the output. For example, one algorithm which may result in extreme accuracy would consume significant processor overhead whereas one which is not as accurate would consume less processor overhead.